home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / cat3dm / old-compression / clGetNextImageInfo.z / clGetNextImageInfo
Encoding:
Text File  |  1998-10-20  |  6.9 KB  |  133 lines

  1.  
  2.  
  3.  
  4. ccccllllGGGGeeeettttNNNNeeeexxxxttttIIIImmmmaaaaggggeeeeIIIInnnnffffoooo((((3333ddddmmmm))))                                ccccllllGGGGeeeettttNNNNeeeexxxxttttIIIImmmmaaaaggggeeeeIIIInnnnffffoooo((((3333ddddmmmm))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      clGetNextImageInfo - Get information about a compressed image stream
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      ####iiiinnnncccclllluuuuddddeeee <<<<ddddmmmmeeeeddddiiiiaaaa////ccccllll....hhhh>>>>
  13.  
  14.      iiiinnnntttt ccccllllGGGGeeeettttNNNNeeeexxxxttttIIIImmmmaaaaggggeeeeIIIInnnnffffoooo((((CCCCLLLLhhhhaaaannnnddddlllleeee hhhhaaaannnnddddlllleeee,,,,
  15.          CCCCLLLLiiiimmmmaaaaggggeeeeIIIInnnnffffoooo ****iiiinnnnffffoooo,,,, iiiinnnntttt ssssiiiizzzzeeeeOOOOffffIIIImmmmaaaaggggeeeeIIIInnnnffffoooo))))
  16.  
  17.  
  18. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  19.      _h_a_n_d_l_e   An open handle that is actively compressing or decompressing.
  20.  
  21.      _i_n_f_o     A pointer where a CLimageInfo structure is to be placed.
  22.  
  23.      _s_i_z_e_O_f_I_m_a_g_e_I_n_f_o
  24.               The size of the CLimageInfo structure in bytes.
  25.  
  26. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  27.      This call is used to obtain information about images (fields or frames)
  28.      as they are compressed or decompressed.  The information includes size,
  29.      time, and a relative image index value.
  30.  
  31.      Before using ccccllllGGGGeeeettttNNNNeeeexxxxttttIIIImmmmaaaaggggeeeeIIIInnnnffffoooo it must be enabled by setting the
  32.      CL_ENABLE_IMAGEINFO parameter to TRUE via the ccccllllSSSSeeeettttPPPPaaaarrrraaaammmm function.  This
  33.      must be done before calling ccccllllCCCCoooommmmpppprrrreeeessssssss or ccccllllDDDDeeeeccccoooommmmpppprrrreeeessssssss.
  34.  
  35.      The CLimageInfo structure is defined in <<<<ddddmmmmeeeeddddiiiiaaaa////ccccllll....hhhh>>>> and has the
  36.      following fields:
  37.  
  38.      typedef struct {
  39.          unsigned size;       /* size of compressed image in bytes */
  40.          unsigned long long ustime;         /* time in nanoseconds */
  41.          unsigned imagecount;     /* absolute media stream counter */
  42.          unsigned status;         /* additional status information */
  43.      } CLimageInfo;
  44.  
  45.  
  46.      During video compression from an external device, the imagecount field is
  47.      initialized to one when the first field is received by the compressor
  48.      after a call to ccccllllCCCCoooommmmpppprrrreeeessssssss.  It counts forward whenever a new field
  49.      arrives.  If the compression data buffer fills up, then a field will be
  50.      dropped, but the imagecount will continue to increase.  An application
  51.      can thus detect a dropped field by noticing a jump in the imagecount
  52.      field of more than one.  The _u_s_t_i_m_e indicates the time the uncompressed
  53.      field entered the compressor.
  54.  
  55.      During video decompression to an external device, the imagecount field
  56.      reflects the count of fields sent by the application to the decompressor.
  57.      The _u_s_t_i_m_e indicates the time that field left the decompressor.  In
  58.      certain situations, fields are repeated on output in which case the
  59.      imagecount will remain the same, but the ustime will increase.  In the
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ccccllllGGGGeeeettttNNNNeeeexxxxttttIIIImmmmaaaaggggeeeeIIIInnnnffffoooo((((3333ddddmmmm))))                                ccccllllGGGGeeeettttNNNNeeeexxxxttttIIIImmmmaaaaggggeeeeIIIInnnnffffoooo((((3333ddddmmmm))))
  71.  
  72.  
  73.  
  74.      case of Cosmo decompression, there is a 1 frame delay through
  75.      Galileo/IndyVideo before the field actually leaves the machine.
  76.  
  77.  
  78. RRRREEEETTTTUUUURRRRNNNN VVVVAAAALLLLUUUUEEEESSSS
  79.      ccccllllGGGGeeeettttNNNNeeeexxxxttttIIIImmmmaaaaggggeeeeIIIInnnnffffoooo returns SUCCESS when an image is available or
  80.      CL_NEXT_NOT_AVAILABLE when there is not.  Other errors are defined in
  81.      <<<<ddddmmmmeeeeddddiiiiaaaa////ccccllll....hhhh>>>>.
  82.  
  83.  
  84. BBBBUUUUGGGGSSSS
  85.      There are two mechanisms for monitoring data flow through a
  86.      compressor/decompressor. The routines ccccllllQQQQuuuueeeerrrryyyyFFFFrrrreeeeeeee and ccccllllQQQQuuuueeeerrrryyyyVVVVaaaalllliiiidddd are
  87.      implemented for all schemes. The ccccllllGGGGeeeettttNNNNeeeexxxxttttIIIImmmmaaaaggggeeeeIIIInnnnffffoooo mechanism is
  88.      implemented only for CL_JPEG_COSMO.
  89.  
  90.      The CL_JPEG_COSMO compressor will not function properly unless the
  91.      application enables ccccllllGGGGeeeettttNNNNeeeexxxxttttIIIImmmmaaaaggggeeeeIIIInnnnffffoooo and reads a CLimageInfo structure
  92.      corresponding to each compressed image prior to reading the compressed
  93.      image data from the _d_a_t_a_B_u_f_f_e_r argument to ccccllllCCCCoooommmmpppprrrreeeessssssss.  If the
  94.      application enables ccccllllGGGGeeeettttNNNNeeeexxxxttttIIIImmmmaaaaggggeeeeIIIInnnnffffoooo and fails to subsequently call the
  95.      routine, JPEG data will not be delivered to the application.
  96.  
  97.      An application is not required to enable and read CLimageInfo structures
  98.      when using the CL_JPEG_COSMO decompressor.
  99.  
  100.  
  101. CCCCAAAAVVVVEEEEAAAATTTTSSSS
  102.      ccccllllGGGGeeeettttNNNNeeeexxxxttttIIIImmmmaaaaggggeeeeIIIInnnnffffoooo will block until the first valid decompressed field
  103.      has exited the CL_JPEG_COSMO decompressor.  This is the only condition
  104.      under which the call blocks.
  105.  
  106.      The _u_s_t_i_m_e field returns a meaningful value only when compressing or
  107.      decompressing to an external device.
  108.  
  109. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  110.      CLintro(3dm), clSetParam(3dm), clCompress(3dm), clDecompress(3dm),
  111.      clQueryFree(3dm), clQueryValid(3dm), dmGetUST(3dm)
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.